def to_2bin(num):
    if num < 0:
        # 负数通常采用补码来表示，需要转换回来（255等价于二进制11111111）
        num = abs(num) ^ 255 - 1
    # 将num转换为一个以“0b”开头的二进制字符串
    num = bin(num)
    # 截取掉字符串的前两位，保留后面的字符串
    num = num[2:]
    # 字符串前面补0，直到补充到8位
    return num.zfill(8)

a, b = 60, 13
print("a = ", a, "（", to_2bin(a), "）", sep="")
print("b = ", b, "（", to_2bin(b), "）", sep="")

print("a & b = ", a & b, "（", to_2bin(a & b), "）", sep="")
print("a | b = ", a | b, "（", to_2bin(a | b), "）", sep="")
print("a ^ b = ", a ^ b, "（", to_2bin(a ^ b), "）", sep="")
print("~a = ", ~a, "（", to_2bin(~a), "）", sep="")
print("a >> 2 = ", a >> 2, "（", to_2bin(a >> 2), "）", sep="")
print("a << 2 = ", a << 2, "（", to_2bin(a << 2), "）", sep="")







